package negocio;

import java.util.ArrayList;
import java.util.Collection;

public class Mesa {

	
	private int NroMesa;
	private String disponibilidad;
	private String descripcion;
	private int cubiertos;
	private Collection<Comanda> comandas;
	public Mesa() {
		super();
	}
	public Mesa(int nroMesa, String disponibilidad, String descripcion,
			Collection<Comanda> comandas) {
		super();
		NroMesa = nroMesa;
		this.disponibilidad = disponibilidad;
		this.descripcion = descripcion;
		this.comandas= comandas;
//		this.comandas = DAOMesa.getInstance().getComandas();
	}
	public int getNroMesa() {
		return NroMesa;
	}
	public void setNroMesa(int nroMesa) {
		NroMesa = nroMesa;
	}
	public String getDisponibilidad() {
		return disponibilidad;
	}
	public void setDisponibilidad(String disponibilidad) {
		this.disponibilidad = disponibilidad;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public Collection<Comanda> getComandas() {
		return comandas;
	}
	public void setComandas(Collection<Comanda> comandas) {
		this.comandas = comandas;
	}
	public void asignarComanda(Comanda comanda)
	{
		comandas.add(comanda);
	}
	public Comanda buscarComanda(int NroComanda)
	{
		Comanda comanda = new Comanda();
		for(Comanda com : comandas)
			if(com.getNroComanda()==NroComanda)
				comanda=com;
		return comanda;
	}
	public float calcularTotal()
	{
		//Por cada ItemComanda dentro de cada COmanda, busco la cantidad de platos en ese item, el precio del item pedido y lo sumarizo. 
		float total=0;
		System.out.println(comandas.size());
		for(Comanda com: comandas)
			for(ItemComanda it: com.getItemsComanda())
			{
				total=total+(it.getPlato().getPrecio()*it.getCantidad());
				System.out.println("Nombre:"+it.getPlato().getNombre()+" Precio:"+it.getPlato().getPrecio()+" Cantidad:"+it.getCantidad());
			}
		return total;
	}
	public Ticket crearTicket(float Total)
	{
		Ticket ticket = new Ticket();
		Collection<ItemTicket> items = new ArrayList<ItemTicket>();
		for(Comanda com: comandas)
			for(ItemComanda it: com.getItemsComanda())
				items.add(new ItemTicket(it.getCantidad(), it.getPlato().getNombre(), it.getCantidad()*it.getPlato().getPrecio(),
						"QUE ES EL TIPO?"));
		ticket.setItemsTicket(items);
//		DAOTicket.grabarTicket(Ticket);
		return ticket;
	}
	public int getCubiertos() {
		return cubiertos;
	}
	public void setCubiertos(int cubiertos) {
		this.cubiertos = cubiertos;
	}
}

